Modern computer systems typically checks system operations closely. For example, a database system checks all applicable business logics before committing any changes, and an application server providing services to other client systems runs diagnostic checks for communication, available resources, etc.
Graphical user interfaces are widely used to display messages to administrators. Traditionally, system messages (e.g., warning or error messages) are displayed in a list that each describes a message in a short synopsis. For example, FIG. 1 shows a conventional error message output. As shown in FIG. 1, the Application 102 generates a lot of messages with the same message identifier (ID) “e105.” Each message is generated with a particular text string (e.g., an employee name) for a parameter. The traditional message output logic 104 displays all error messages in a list. Each message shows a particular employee could not be saved because a required “bank details” are missing. The messages are displayed according to a message template that replaces a place holder with the content of the text string. FIG. 2 shows a database table 200 that stores message templates. The table 200 includes a column for message ID and another column for descriptive text. One saved message template has a message ID of 105 and the detailed descriptive text for a reason why an employee could not be saved. The employee name is a placeholder for a variable that is to be replaced with the parameter value. During runtime, an application generates messages using the message template from the table 200 and provides the value for the variable as shown in FIG. 1.
In some software applications, there are situations where a large number of warning or error messages are generated. This normally happens when a large number of business logics at different levels are implemented as software rules to be checked constantly. For example, at database level, checks on data consistencies are run against any data being saved; at application level, business logics are checked to make sure any operation satisfies the business logic. In such cases, many of the messages are usually caused by the same error. However, since the administrator is drowned in error messages, it is hard to determine the cause of the errors.
For example, FIG. 3 shows a graphical user interface (GUI) 300 in an application for designing an organizational structure. The GUI 300 shows a list of error messages on an upper pane 302 and a design pane 304 for the organizational structure. The list of error messages in the upper pane 302 is so long that an administrator needs to scroll down multiple times to see all messages. The very long list of error messages is not very helpful for finding the root cause and gives the user the impression that many things are wrong.
Accordingly, a need exists for a method and system for an improved display of large number of warning or error messages.